Computer systems are frequently used to view or display media and other data that must be protected from copying and other unauthorized access. Traditionally, computer systems have secured protected data through encryption. However, to view or display the data, it must be decrypted and may need additional processing. Decrypted data is vulnerable to copying and other unauthorized access by system devices or software. Certain prior art systems restrict access to a designated portion of memory to secure clients (e.g. the display). However, advanced algorithms for decoding, compositing, or other processing of protected data require access by multiple devices, some of which may be programmable or have the ability to copy the data. It is desirable that user applications, operating system providers, and third-party software providers be able to configure the video and compositing pipelines in a variety of ways. However, it is impractical to use secure software to implement the variety of algorithms and complex interactions with operating system software that may be desired. Because content providers do not have control over what this software does, and such software is subject to attacked or corruption, it cannot be given unrestricted access to the protected data. Accordingly, what is needed is a hardware barrier that prevents protected content from escaping the system, while leaving software the flexibility to manipulate and display the protected content.